1. Field of the Invention
The present invention is generally related to interrupt controllers on a semiconductor system-on-a-chip.
2. Background Art
In a system-on-a-chip (SOC) that includes multiple subsystems and mini-subsystems within subsystems, components have difficulty communicating among each other. For example, when a communication subsystem needs to communicate with a multimedia subsystem or an application subsystem needs to communicate to a communication subsystem, there is a need for an efficient communication mechanism between the subsystems.
A conventional SOC transmits interrupts between different subsystems using subsystem to subsystem wiring, where each wire carries an interrupt from one subsystem to another. However, subsystem to subsystem wiring is not an optimal solution when the SOC includes multiple subsystems, as the SOC may run out of available real-estate that may be used for wiring. Additionally, as subsystems on the SOC share components, such as peripherals and hardware accelerators additional wiring is required to propagate interrupts from those components.
Additionally, when an SOC includes power management techniques that conserve power, the SOC may cause some subsystems to enter a dormant state when they are not being used by the SOC. When a subsystem is dormant it does not receive and recognize interrupts.
Therefore, what is needed that is not conventionally available, is a scalable interrupt controller that receives and propagates interrupts from different subsystems within an SOC. What is also needed that is not conventionally available, is a scalable interrupt controller that allows multiple subsystems to transmit and receive interrupts among each other such that the number of metal traces in the SOC does not increase in proportion to increase of interrupt sources in subsystems that generate interrupts. What is also needed is an interrupt controller that wakes up dormant subsystems prior to those subsystems receiving interrupts.
The features and advantages of the present invention will become more apparent from the detailed description set forth below when taken in conjunction with the drawings. In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. Generally, the drawing in which an element first appears is indicated by the leftmost digit(s) in the corresponding reference number.